The eslint jobs report their results as artifacts in junit format,
so that gitlab can present them in its UI.
However many people miss that, and unsuccessfully check the logs
instead.
Account for that by also printing the results to stdout.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2829>
stage: review
script:
- export NODE_PATH=$(npm root -g)
- - ./.gitlab-ci/run-eslint --output-file ${LINT_LOG} --format junit
+ - ./.gitlab-ci/run-eslint --output-file ${LINT_LOG} --format junit --stdout
artifacts:
reports:
junit: ${LINT_LOG}
stage: review
script:
- export NODE_PATH=$(npm root -g)
- - ./.gitlab-ci/run-eslint --output-file ${LINT_MR_LOG} --format junit
+ - ./.gitlab-ci/run-eslint --output-file ${LINT_MR_LOG} --format junit --stdout
--remote ${CI_MERGE_REQUEST_PROJECT_URL}.git
--branch ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}
only:
return report;
}
+function hasOption(...names) {
+ return process.argv.some(arg => names.includes(arg));
+}
+
function getOption(...names) {
const optIndex =
process.argv.findIndex(arg => names.includes(arg)) + 1;
if (outputPath) {
fs.mkdirSync(path.dirname(outputPath), { recursive: true });
fs.writeFileSync(outputPath, resultText);
+
+ if (hasOption('--stdout')) {
+ const consoleFormatter = await regular.loadFormatter();
+ console.log(consoleFormatter.format(commonResults));
+ }
} else {
console.log(resultText);
}